Adwaita: Make check & radio symbolic icon style in popover.menu
authornana-4 <hnmaigo@gmail.com>
Thu, 7 Nov 2019 13:00:20 +0000 (22:00 +0900)
committernana-4 <hnmaigo@gmail.com>
Mon, 2 Dec 2019 11:48:09 +0000 (20:48 +0900)
The disabled modelbutton color needs to be specified explicitly
in order for check & radio to properly read the color with
currentColor.

https://gitlab.gnome.org/GNOME/gtk/issues/1824

gtk/theme/Adwaita/_common.scss
gtk/theme/Adwaita/gtk-contained-dark.css
gtk/theme/Adwaita/gtk-contained.css

index 357ee5d4eb7ba7a365204c5baab1f85c45797b30..bec0dce2b51f0d071a8075fb54b6ae909ad58881 100644 (file)
@@ -1031,6 +1031,12 @@ modelbutton.flat,
 
   &:hover { background-color: $popover_hover_color; }
 
+  &:disabled {
+    color: $insensitive_fg_color;
+
+    &:backdrop { color: $backdrop_insensitive_color; }
+  }
+
   &:selected { @extend %selected_items; }
 
   &:backdrop,
@@ -2929,6 +2935,7 @@ radio {
     &:disabled { @include button(osd-insensitive); }
   }
 
+  @at-root %menu_check_radio,
   menu menuitem & {
     margin: 0; // this is a workaround for a menu check/radio size allocation issue
 
@@ -2989,6 +2996,7 @@ check {
 }
 
 menu menuitem {
+  @at-root %menu_check_radio,
   radio,
   check {
      &:checked:not(:backdrop), &:indeterminate:not(:backdrop) { transition: none; }
@@ -4910,6 +4918,11 @@ popover.menu {
     &:dir(rtl) { margin-right: 20px; }
   }
 
+  & check,
+  & radio {
+    @extend %menu_check_radio;
+  }
+
   & arrow.left,
   & radio.left,
   & check.left {
index 8ec5f683dd36ce71248f53eee0f1fa52ab11d90c..021397692b3e0642a352330bbacdc59204f4be44 100644 (file)
@@ -415,6 +415,10 @@ modelbutton.flat, .menuitem.button.flat { min-height: 26px; padding-left: 5px; p
 
 modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: #424242; }
 
+modelbutton.flat:disabled, .menuitem.button.flat:disabled { color: #919190; }
+
+modelbutton.flat:disabled:backdrop, .menuitem.button.flat:disabled:backdrop { color: #5b5b5b; }
+
 modelbutton.flat arrow { background: none; min-width: 16px; min-height: 16px; }
 
 modelbutton.flat arrow:hover { background: none; }
@@ -1140,9 +1144,9 @@ check:backdrop, radio:backdrop { transition: 200ms ease-out; }
 
 .osd check:disabled, .osd radio:disabled { color: #8a8a89; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(58, 58, 57, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
 
-menu menuitem check, menu menuitem radio { margin: 0; }
+popover.menu check, popover.menu radio, menu menuitem check, menu menuitem radio { margin: 0; }
 
-menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; }
+popover.menu check, popover.menu radio, popover.menu check:hover, popover.menu radio:hover, popover.menu check:disabled, popover.menu radio:disabled, popover.menu check:checked, popover.menu radio:checked, popover.menu check:checked:hover, popover.menu radio:checked:hover, popover.menu check:checked:disabled, popover.menu radio:checked:disabled, popover.menu check:indeterminate, popover.menu radio:indeterminate, popover.menu check:indeterminate:hover, popover.menu radio:indeterminate:hover, popover.menu check:indeterminate:disabled, popover.menu radio:indeterminate:disabled, menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; }
 
 check { border-radius: 3px; -gtk-icon-size: 14px; }
 
@@ -1164,7 +1168,7 @@ radio:active, check:active { -gtk-icon-transform: scale(0, 1); }
 
 radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { -gtk-icon-transform: unset; transition: 400ms; }
 
-menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; }
+popover.menu check:checked:not(:backdrop), popover.menu radio:checked:not(:backdrop), popover.menu check:indeterminate:not(:backdrop), popover.menu radio:indeterminate:not(:backdrop), radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { transition: none; }
 
 treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: #ffffff; }
 
index b896c3c52d47cd97ce0284520f1fd0a29685f808..d67ba210cbba1821e8e94412a9cde44a9d65f37b 100644 (file)
@@ -417,6 +417,10 @@ modelbutton.flat, .menuitem.button.flat { min-height: 26px; padding-left: 5px; p
 
 modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: white; }
 
+modelbutton.flat:disabled, .menuitem.button.flat:disabled { color: #929595; }
+
+modelbutton.flat:disabled:backdrop, .menuitem.button.flat:disabled:backdrop { color: #d4cfca; }
+
 modelbutton.flat arrow { background: none; min-width: 16px; min-height: 16px; }
 
 modelbutton.flat arrow:hover { background: none; }
@@ -1156,9 +1160,9 @@ row:selected check, row:selected radio { border-color: #185fb4; }
 
 .osd check:disabled, .osd radio:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(71, 71, 71, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
 
-menu menuitem check, menu menuitem radio { margin: 0; }
+popover.menu check, popover.menu radio, menu menuitem check, menu menuitem radio { margin: 0; }
 
-menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; }
+popover.menu check, popover.menu radio, popover.menu check:hover, popover.menu radio:hover, popover.menu check:disabled, popover.menu radio:disabled, popover.menu check:checked, popover.menu radio:checked, popover.menu check:checked:hover, popover.menu radio:checked:hover, popover.menu check:checked:disabled, popover.menu radio:checked:disabled, popover.menu check:indeterminate, popover.menu radio:indeterminate, popover.menu check:indeterminate:hover, popover.menu radio:indeterminate:hover, popover.menu check:indeterminate:disabled, popover.menu radio:indeterminate:disabled, menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; }
 
 check { border-radius: 3px; -gtk-icon-size: 14px; }
 
@@ -1180,7 +1184,7 @@ radio:active, check:active { -gtk-icon-transform: scale(0, 1); }
 
 radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { -gtk-icon-transform: unset; transition: 400ms; }
 
-menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; }
+popover.menu check:checked:not(:backdrop), popover.menu radio:checked:not(:backdrop), popover.menu check:indeterminate:not(:backdrop), popover.menu radio:indeterminate:not(:backdrop), radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { transition: none; }
 
 treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: #ffffff; border-color: #185fb4; }